/*
 * PorosityTimeDerivativeKernel.h
 *用于计算热解气体动量方程中的空隙率时间导数项
 *  Created on: 2017年8月29日
 *      Author: liuxiao
 */



#pragma once

#include "MUltiPhasePyrolysisMaterial.h"//获得热解热参数
#include "ComputeRhoMaterial.h"//获得热解率参数
#include "Kernel.h"

class PorosityTimeDerivativeKernel : public Kernel
{
public:

	PorosityTimeDerivativeKernel(const InputParameters & parameters);

protected:
  virtual Real computeQpResidual();
  virtual Real computeQpJacobian();

private:
  const MaterialProperty<Real> & _R;
  const VariableValue & _temperature;
  const MaterialProperty<Real> & _drhos_dt;
  const MaterialProperty<Real> & _porosity_v;
  const MaterialProperty<Real> & _porosity_c;
  const MaterialProperty<Real> & _porosity;
  const MaterialProperty<Real> & _rhov;
  const MaterialProperty<Real> & _rhoc;
  const MaterialProperty<Real> & _rhos;

};

template<>
InputParameters validParams<PorosityTimeDerivativeKernel>();

